package com.bill99.mapper.mapper2;

import java.util.List;
import java.util.Map;

/*** 
 * class_name: CalculateDelayHourMapper
 * package: com.bill99.report.dao.tracker 
 * creat_user:JunLee 
 * creat_date: 2018/7/24 
 * creat_time: 14:30
 * describe: tableau监控预警报表dao 
 */

public interface CalculateDelayHourMapper {

    void batchInsertDelayRecord(List<Map<String,Object>> delayRecords);
    /*** 
     * describe: 新增 
     * creat_time: 2018/7/24 14:30
     * param: [map]
     * return: void
     */
    void insertDelayRecord(Map<String, Object> map);
    /***
     * describe: 更新
     * creat_time: 2018/7/24 14:31
     * param: [map]
     * return: void
     */
    void updateOneDelayRecord(Map<String, Object> map);
    /***
     * describe: 查询one
     * creat_time: 2018/7/24 14:31
     * param: [map]
     * return: java.util.HashMap<java.lang.String,java.lang.Object>
     */
    Map<String,Object> findOneDelayRecord(Map<String, Object> map);

    /*** 
     * describe: 维护sla约束 
     * creat_time: 2018/7/24 14:31
     * param: []
     * return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String, Object>> slaList();

    /*** 
     * describe: 判断今天是否为交易日 
     * creat_time: 2018/7/24 14:32
     * param: [map]
     * return: java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String, Object> isTradeDay(Map<String, Object> map);

    /*** 
     * describe: 一段时间内的非交易日(即去掉节假日和周末休息日)天数(包括临界的开始日和结束日) 
     * creat_time: 2018/7/24 14:32
     * param: [map]
     * return: java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String, Object> workDays(Map<String, Object> map);

    /*** 
     * describe: 上一个工作日 
     * creat_time: 2018/7/24 14:36
     * param: [anyDay]
     * return: java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String, Object> previousWorkDay(Map<String, Object> anyDay);

    /*** 
     * describe: 下一个工作日 
     * creat_time: 2018/7/24 14:37
     * param: [anyDay]
     * return: java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String, Object> nextWorkDay(Map<String, Object> anyDay);

    /*** 
     * describe: SLA约束为T+0
     * creat_time: 2018/7/24 14:37
     * param: []
     * return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String, Object>> slaPlusZero();

    /***
     * describe: SLA约束不为T+0的
     * creat_time: 2018/7/24 15:18
     * param: []
     * return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String, Object>> slaNotPlusZero();

    /***
     * describe: 删除数据
     * creat_time: 2018/7/24 15:18
     * param: []
     * return: void
     */
    void deleteData();

    List<Map<String,Object>> emailDatalist(Map<String,Object> nodelay);
}
